package cn.edu.fzu.delivery.service;

import cn.edu.fzu.delivery.domain.entity.Courier;
import cn.edu.fzu.delivery.domain.entity.CourierDelivery;
import cn.edu.fzu.delivery.domain.entity.SysUser;
import cn.edu.fzu.delivery.domain.enums.DeliveryStatusEnum;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author jiebin
 * @data 2022/11/13
 **/
public interface CourierDeliveryService {

    /**
     * 更新快递派送信息
     *
     * @param deliveryManId
     * @param status
     * @param endTime
     */
    void updateStatus(Long deliveryManId, String courierId, DeliveryStatusEnum status, String endTime);


    /**
     * 绑定快递与快递员
     * 
     * @param courierId 快递单号
     * @param deliveryManId 快递员id
     * @param destNetWorkId 目的网点id
     */
    void insert(String courierId, Long deliveryManId, Long destNetWorkId);


    List<CourierDelivery> list(Long deliveryManId, String courierId, DeliveryStatusEnum status,Long destNetWorkId, String startTime,
                               String endTime);


    CourierDelivery getByCourierIdAndDeliveryManId(String courierId, Long deliveryManId);


    /**
     * 根据目的网点查询出所有快递单号
     * 
     * @param destNetWorkId 目的网点
     * @return
     */
    List<String> listCourierIdsByNetWork(Long destNetWorkId);
}
